package com.boarsoft.boar.office.business;

import org.springframework.beans.factory.annotation.Autowired;

import com.boarsoft.boar.office.Constants;
import com.boarsoft.boar.office.entity.OfficeWorkInfo;
import com.boarsoft.boar.office.work.OfficeWorkBiz;
import com.boarsoft.common.Util;
import com.boarsoft.flow.core.bean.ProcessHandler;

public class NewBizDevPlanOkPH implements ProcessHandler {
	@Autowired
	protected OfficeWorkBiz workBiz;

	@Override
	public Object process(String entry, Object data, Throwable throwable) throws Throwable {
		// 业务开发任务
		OfficeWorkInfo a = (OfficeWorkInfo) data;
		// 创建测试任务
		OfficeWorkInfo o = new OfficeWorkInfo();
		// 作为业务开发任务的子任务
		o.setParentId(a.getId());
		// 设置计划开始和结束时间为当天（以便显示）
		o.setPlanStartDate(Util.getStdfDate());
		o.setPlanEndDate(Util.getStdfDate());
		// o.setActualEndDate(actualEndDate);
		// o.setActualStartDate(actualStartDate);
		// o.setAfterWorkId(afterWorkId);
		o.setLastTime(Util.getStdmfDateTime());
		// 任务先挂到当前用户自己名下
		o.setOwnerId(a.getOwnerId());
		// 此处不能设置flowId和flowExeId，因为此任务并不对应这个流程
		// o.setFlowId(a.getFlowId());
		// o.setFlowExeId(a.getFlowExeId());
		// 关联流程实例flowId2/flowExeId2，以便提交此任务时，续跑这个流程
		o.setFlowId2(a.getFlowId());
		o.setFlowExeId2(a.getFlowExeId());
		o.setPriority(a.getPriority());
		o.setTitle(a.getTitle().concat("-业务开发排期确认"));
		o.setType(Constants.WORK_TYPE_BIZ_DEV_PLAN_OK);
		// o.setUrl(url);
		// 保存开发任务
		workBiz.save(o);
		return o;
	}

}
